Public Partial Class FrmChequerasABM
    Inherits System.Web.UI.Page
    Public Chequera As CapaDeNegocios.nChequera = New CapaDeNegocios.nChequera
    Public Banco As CapaDeNegocios.nBanco = New CapaDeNegocios.nBanco
    Public Cuenta As CapaDeNegocios.nCuenta = New CapaDeNegocios.nCuenta

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("Login") = "Anonimo" Then
            Response.Redirect("/")
        End If
        If Not Page.IsPostBack Then
            LLenarComboBanco()
            LlenarGridChequera()
            LLenarCboCuenta()
            LblError.Visible = False
        End If
    End Sub
    Sub LLenarCboCuenta()
        Dim VarBanco As Integer
        CboCuenta.Items.Clear()
        CboCuenta.Items.Add(New ListItem("Seleccione una Cuenta", -1))
        If CboBanco.SelectedValue.ToString() = -1 Then
            Varbanco = 0
        Else
            varbanco = CboBanco.SelectedValue.ToString()
        End If
        CboCuenta.DataSource = Cuenta.ListarCuenta(0, "", "", Varbanco, "Si")
        CboCuenta.DataTextField = "NumeroCuenta"
        CboCuenta.DataValueField = "CodigoCuenta"
        CboCuenta.DataBind()
    End Sub
    Sub LLenarComboBanco()

        CboBanco.DataSource = Banco.ListarBanco(0, "", "")
        CboBanco.DataTextField = "denominacion"
        CboBanco.DataValueField = "CodigoBanco"
        CboBanco.DataBind()
    End Sub
    Sub LlenarGridChequera()
        Dim Comienzo As Integer
        Dim Final As Integer
        Dim Cuenta As Integer
        'Dim Banco as 
        If Trim(TxtComienzo.Text) <> "" Then
            Comienzo = Int(Trim(TxtComienzo.Text))
        Else
            Comienzo = 0
        End If
        If Trim(TxtFinaliza.Text) <> "" Then
            Final = Int(Trim(TxtFinaliza.Text))
        Else
            Final = 0
        End If
        If CboCuenta.SelectedValue.ToString() = -1 Then
            Cuenta = 0

        Else
            Cuenta = Int(CboCuenta.SelectedValue.ToString())
        End If

        GridChequera.DataSource = Chequera.ListarTodos(0, Comienzo, Final, Cuenta)
        GridChequera.DataBind()

    End Sub
    Sub LimpiarFormulario()
        CboCuenta.SelectedIndex = -1
        GridChequera.SelectedIndex = -1
        CboBanco.SelectedIndex = -1
        HFChequera.Value = ""
        LblError.Text = ""
        LblError.Visible = False
        LlenarGridChequera()
        TxtComienzo.Text = ""
        TxtFinaliza.Text = ""
        TxtComienzo.Text = "00000"
        TxtFinaliza.Text = "00000"
    End Sub

    Protected Sub LinkGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkGuardar.Click
        Dim Cont As Integer = 0
        LblError.Text = ""
        LblError.Visible = False
        
        If Not IsNumeric(TxtComienzo.Text) Then
            LblError.Text = LblError.Text + "-Error, el inicio de los cheques debe ser numerico"
            Cont = Cont + 1
        End If
        If Not IsNumeric(TxtFinaliza.Text) Then
            LblError.Text = LblError.Text + "-Error, el fin de los cheques debe ser numerico"
            Cont = Cont + 1
        End If
        If IsNumeric(TxtComienzo.Text) > IsNumeric(TxtFinaliza.Text) Then
            LblError.Text = LblError.Text + "-Error, el el primer cheque es mayor al ultimo"
            Cont = Cont + 1
        End If
        If TxtComienzo.Text = TxtFinaliza.Text Then
            LblError.Text = LblError.Text + "-Error el comienzo y el fin iguales no estan permitidos"
            Cont = Cont + 1
        End If
        If Not (Int(TxtComienzo.Text) + 50 = CDbl(TxtFinaliza.Text) Or _
        Int(TxtComienzo.Text) + 100 = CDbl(TxtFinaliza.Text)) Then
            LblError.Text = LblError.Text + "-Error el Maximo permitido son 100 o 50 Cheques"
            Cont = Cont + 1
        End If
        If Cont = 0 Then
            If HFChequera.Value = "" Then
                If CboCuenta.Text <> -1 And Len(Trim(TxtComienzo.Text)) > 0 And Len(Trim(TxtFinaliza.Text)) > 0 Then
                    If Chequera.ExisteChequera(TxtComienzo.Text, TxtFinaliza.Text, Int(CboCuenta.SelectedValue.ToString())) Then
                        LblError.Text = "Error, el rango para la cuenta ya existe."
                        LblError.Visible = True
                    Else
                        If Chequera.InsertarChequera(Trim(TxtComienzo.Text), Trim(TxtFinaliza.Text), Int(CboCuenta.SelectedValue.ToString())) Then
                            Me.Response.Write("<script languaje='javascript'>window.alert('El Alta fue Exitosa')</script>")
                            LimpiarFormulario()
                        Else
                            Me.Response.Write("<script languaje='javascript'>window.alert('No se pudo realizar el alta')</script>")
                        End If
                    End If
                    HFChequera.Value = ""
                Else
                    LblError.Visible = True
                End If
            Else
                If Chequera.ExisteChequera(TxtComienzo.Text, TxtFinaliza.Text, Int(CboCuenta.SelectedValue.ToString())) Then
                    LblError.Text = "Error, el rango para la cuenta ya existe."
                    LblError.Visible = True
                Else
                    If Chequera.ModificarChequera(Int(HFChequera.Value), Trim(TxtComienzo.Text), Trim(TxtFinaliza.Text), Int(CboCuenta.SelectedValue.ToString())) Then
                        Me.Response.Write("<script languaje='javascript'>window.alert('La Modificacion fue Exitosa')</script>")
                        LimpiarFormulario()
                    Else
                        LblError.Visible = True
                        LblError.Text = "Error, no se pudo realizar la modificacion por Haber utilizado cheques"
                    End If
                End If
            End If
            HFChequera.Value = ""
        Else
            LblError.Visible = True
        End If
    End Sub

    Private Sub GridChequera_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridChequera.PageIndexChanging
        Me.GridChequera.PageIndex = e.NewPageIndex
        LlenarGridChequera()
    End Sub

    Protected Sub GridChequera_RowCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridChequera.RowCommand
        If e.CommandName = "Select" Then
            CboCuenta.Items.Clear()
            CboCuenta.Items.Add(New ListItem("Seleccione una Cuenta", -1))
            CboCuenta.DataSource = Cuenta.ListarCuenta(0, "", "", 0, "Si")
            CboCuenta.DataTextField = "NumeroCuenta"
            CboCuenta.DataValueField = "CodigoCuenta"
            CboCuenta.DataBind()
            TxtComienzo.Text = e.CommandSource.parent.FindControl("LblComienza").text
            TxtFinaliza.Text = e.CommandSource.parent.FindControl("LblUltimo").text
            CboCuenta.SelectedValue = e.CommandSource.parent.parent.FindControl("HFCuenta").value
            HFChequera.Value = e.CommandSource.parent.parent.FindControl("HFChequera").value
        End If
    End Sub

    Protected Sub LinkCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkCancelar.Click
        LimpiarFormulario()
    End Sub

    Protected Sub LinkEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkEliminar.Click
        If HFChequera.Value <> "" Then
            If Chequera.EliminarChequera(Int(HFChequera.Value)) Then
                Me.Response.Write("<script languaje='javascript'>window.alert('La eliminacion fue Correcta')</script>")
                LimpiarFormulario()
            End If
        Else
            Me.Response.Write("<script languaje='javascript'>window.alert('No selecciono Elementos')</script>")
        End If
    End Sub

    Protected Sub LinkBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkBuscar.Click
        LlenarGridChequera()
    End Sub

    Protected Sub CboBanco_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboBanco.SelectedIndexChanged
        LLenarCboCuenta()
    End Sub

 
End Class